export default {
	//为当前模块开启命名空间
	namespaced: true,
	
	//模块的state数据
	state: () => ({
		//用户收货地址，用来存储用户收货地址的信息对象
		//每个商品的信息对象，都包含如下6个属性：
		//cityName, countyName, detailInfo, errMsg,nationalCode, postalCode,provinceName,telNumber,userName 
		address: JSON.parse(uni.getStorageSync('address')||'{}'),
		//token信息
		token: JSON.parse(uni.getStorageSync('token')||'{}'),
		//用户基本信息
		userinfo: JSON.parse(uni.getStorageSync('userinfo')||'{}'),
		//重定向信息
		redirectaInfo: null,
	}),
	
	//分装
	mutations:{
		//更新地址信息
		updateAddress(state,address){
			state.address = address;
			this.commit('m_user/saveAddressToStorage')
		},
		
		//更新用户信息
		updateUserInfo(state,userinfo){
			state.userinfo = userinfo;
			this.commit('m_user/saveUserInfoToStorage')
		},
		
		//更新token信息
		updateToken(state,token){
			state.token = token;
			this.commit('m_user/saveTokenToStorage')
		},
		
		//更新重定向的信息对象
		updateRedirectionInfo(state,info){
			state.redirectInfo = info
		},
		
		//保存到本地
		saveAddressToStorage(state){
			uni.setStorageSync('address',JSON.stringify(state.address))
		},
		
		//保存到本地
		saveUserInfoToStorage(state){
			uni.setStorageSync('userinfo',JSON.stringify(state.userinfo))
		},
		
		//保存到本地
		saveTokenToStorage(state){
			uni.setStorageSync('token',JSON.stringify(state.token))
		},
	},
	
	getters:{
		//计算详细的收货地址,抽离到了user.js
		addstr(state) {
			console.log("my-address中的computed....")
			if (!state.address.provinceName) return ''
			//拼接省，市，区，详细地址的字符串并返回给用户
			return state.address.provinceName + state.address.cityName +
				state.address.countyName + state.address.detailInfo
		}
	}
	
	
}